One of the earliest and most popular applications that became widely used among non-technical computer users was the word processor. Computers were naturally suited for word processing with their memory and display features that allow authors to draft, edit, correct, and the like without requiring numerous hard copies or lengths of erasing tapes or substances, or carbon paper. A useful set of features that developed in word processing is the cut, copy, and paste functions. Cut, copy, and paste allowed word processing users to identify a selection of text, place a copy of that text on a memory location, sometimes referred to as a clipboard, and then insert that text, or a copy of that text at any desired insertion point in the document under construction. This process allowed authors to more efficiently create their documents.
The usefulness and efficiency of cut, copy, and paste, however, was seen beyond word processing applications and eventually extended across the entire computer platform. Selections of objects or elements may now be made in one application, a copy placed onto the clipboard, and then the copied object or element inserted at any point in most other development environments. Individual applications have cut, copy, and paste functionality that interoperates with the cut, copy, and paste utilities of the resident operating system. One problem that developed with cross-application copying is the representation of incompatible or inconsistent formatting or styling. For example, some word processing programs have proprietary styling codes. If the text associated with the proprietary styling is pasted into an application that does not support that styling, the text will not appear as it did in the original application. One solution that was typically used was to copy the selected text from the word processing application, such as Microsoft Corporation's WORD™, to a simple text editor, and then copy the selection from the text editor into the target application. Because the simple text editor stripped all of the extra formatting that is particular to WORD™, it would not be included in the selection eventually copied into the target application. However, these extra steps take valuable time away from developers.
Another solution was developed that allowed the user to select options when pasting the object into the target application. A special paste operation in certain applications, such as Macromedia, Inc.'s DREAMWEAVER™ Web application development environment, or Microsoft Corporation's OFFICE™ productivity suite of applications, gives the user options to select to keep only the text portion of the object, or attempt to keep the formatting of the original document. This selection of functionality allows more flexibility to the user, but does not address the more-intense styling problems that may be encountered when copying hypertext markup language (HTML) objects or elements, or other such meta language-based or supplemented objects or elements. However, even in some of the options to import only the text, simple formatting may remain, which could differ from application to application.
In HTML or other markup or meta languages, such as extensible markup language (XML), and the like, a multitude of styling possibilities exist that may be controlled through in-line style tags and attributes or through association with a style sheet, such as cascading style sheets (CSS). Completely stripping the styling or formatting or attempting to completely match the target styling or formatting may leave the developer a considerable amount of work in cleaning up the copied object or elements. This amount of work may lead the developer to code the object from scratch instead of taking advantage of the more efficient means, such as the cut, copy, paste functionality.